package com.radroxx.balancelg.balancedata;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Calendar;

/**
 * Created by Rodion on 26.07.13.
 */
public class _GetBalanceLDS implements behaviorBalance {
    @Override
    public String getData( String login , String password ){try
    {
        URL url = new URL("https://stat.lds.net.ua");

        HttpURLConnection connect = (HttpURLConnection)  url.openConnection();

        connect.setRequestMethod("POST");//Метод передачи запроса
        connect.setConnectTimeout(15000);//для того что бы не зависал при обрывах

        connect.setUseCaches(false);
        connect.setDoInput(true);
        connect.setDoOutput(true);

        //Записываем данные для отправки
        OutputStream out = connect.getOutputStream();
        out.write(("username=" + login + "&userpass=" + password ).getBytes());
        out.flush();
        out.close();

        connect.connect();

        //Проверяем если все нормально считываем страницу
        if( connect.getResponseCode() == 200 )
        {
            System.out.println();

            //В этом блоке выдираем кодировку страницы
            String charSet = null;
            String temp = connect.getContentType();
            int begin = temp.indexOf("charset=");
            if( begin != -1 )
            {
                begin+=8;
                int end = temp.indexOf(" ", begin);
                if( end == -1 ){
                    charSet = temp.substring(begin);
                }
                else
                    charSet = temp.substring(begin, end);
            }

            BufferedReader br = null;

            //Берем InputStream с нужной кодировкой
            if( charSet != null )
                br = new BufferedReader( new InputStreamReader(connect.getInputStream() , charSet) );
            else
                br = new BufferedReader( new InputStreamReader(connect.getInputStream()) );

            if( br != null )
            {
                String rez = "";
                String inl = "";

                //Вычитывем все данные
                while( (inl = br.readLine()) != null )
                    rez += inl ;
                br.close();
                begin = rez.indexOf("<td class=\"col1\">Баланс</td>\t\t\t<td class=\"col2\">\t\t\t\t<ul class=\"menu-buttons\">\t\t\t\t\t<li class=\"item-label\"><strong class=\"green-text big-txt\">");
                //return rez;
                if( begin != -1 ){
                    begin += 140 ;
                    return rez.substring(begin, rez.indexOf("</strong>",begin) ) + " грн.";
                }
            }
        }
        connect.disconnect();
        return null;
    }
    catch( Exception ex  ){ return null; } }
    @Override
    public boolean getIsLogin(){ return true; }
    @Override
    public boolean getIsPassword(){ return true; }
    @Override
    public String findLogin(){ return null; }
}
